Alert signal generation

ABSTRACT

An alert signal of a communication device ( 1 ), such as the ring signal of a mobile phone, comprises a set of musical samples that are played by the communication device in sequence. The sequence may be randomly generated, either in response to the event causing the alert or in a set up phase. Alternatively, the user of the device can create a tune to be used as the alert signal by creating a sequence of samples. The user selects samples from a list of samples to create the sequence of samples as individual samples may appear more than once in the tune.

[0001] The present invention relates to alert signal generation.

[0002] Communications devices such as telephones, mobile phones and pagers generally produce an audible alert signal when a user needs to attend to the device, e.g. in the event of an incoming call or reception of a new message. Whilst such alert signals were originally simple repeating tone patterns, musical alert signals have now become commonplace. Some mobile phones allow the user to select from tunes programmed into the mobile phone by its manufacturer and others, e.g. the Ericsson SH888, allow the user to enter their own tunes note by note.

[0003] Most people are not musicians and find programming a pleasing tune into a device note-by-note extremely difficult, if not impossible. For these users, preprogrammed tunes have hitherto been the only option. The preprogrammed tunes are undesirable because they provide insufficient scope for personalisation. Such personalisation is not simply a matter of taste. In a crowded environment, for example a commuter train, it is desirable that each communication device produce a unique alert signal so that people do not mistakenly respond to an alert signal when their own device has actually remained silent.

[0004] According to the present invention, there is provided a method of alerting a user of a communications device to an incoming communication, the method comprising detecting an incoming communication, obtaining a sequence in which data defining a plurality of musical samples is to be read from a memory, and responding to the detection of an incoming communication by reading said data from the memory in the obtained sequence and generating an audio signal in dependence on said data.

[0005] According to the present invention, there is also provided a communication device, for example a mobile phone, comprising means for detecting an incoming communication, acoustic signal generation means for generating an acoustic signal, a memory storing data defining a plurality of musical samples, and processing means configured to read the data defining musical samples from the memory in a sequence and control the acoustic signal generator, in dependence thereon, so as to cause the acoustic signal generator to produce an alert signal defined by the read musical samples.

[0006] Musical samples are short bits of music, comprising at least one note or rest. Rests may be treated as “notes” with a frequency of zero Hz and explicitly defined. Alternatively, rests may be represented by gaps between periods for which there are explicit note defining data. It will be understood that the term “sample” in this context does not necessarily imply the sampling of an analogue or digital musical signal.

[0007] The musical samples may comprise time domain signal samples or frequency domain coefficients. However, it is preferred, in the interests of efficient use of memory, that the musical samples each comprise at least one set of digital codes, each set of codes comprising frequency-defining data and duration-defining data for each note of each sample, and optionally note start timing data.

[0008] Preferably, the frequency-defining data for each note comprises a code representing pitch quantised according to a predetermined scale, e.g. the major scale, the minor scale, the Japanese scale, the Hungarian major scale but preferably the chromatic scale

[0009] The sequence may be obtained by a user entering the sequence using user input means or by generating a non-deterministic sequence, for example using a random number generating function.

[0010] The samples may be loaded into the memory during manufacture of a device. Alternatively, means may be provided so that a user can create the samples.

[0011] According to the present invention, there is further provided technical manifestation of software, the software comprising instructions for causing a communication device, comprising means for detecting an incoming communication, acoustic signal generation means for generating an acoustic signal, a memory storing data defining a plurality of musical samples and software-controllable processing means for reading from said memory and controlling the acoustic signal generation means, to operate in accordance with a method according to the present invention.

[0012] Said instructions are preferably represented by temporal or spatial variation of a physical property. The physical property may be charge in a memory cell, magnetic field magnitude or orientation, reflectivity or the phase or amplitude of an electromagnetic wave.

[0013] Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which:

[0014]FIG. 1 shows the physical form of a mobile phone;

[0015]FIG. 2 is a block diagram of the mobile phone of FIG. 1;

[0016]FIG. 3 illustrates part of the ROM of the mobile phone of FIG. 1;

[0017]FIG. 4 is a flow diagram showing the display of the mobile phone of FIG. 1 during ring signal selection;

[0018]FIG. 5 is a flow diagram showing the display of the mobile phone of FIG. 1 during ring signal selection;

[0019]FIG. 6 is a flow diagram showing the display of the mobile phone of FIG. 1 during ring signal selection;

[0020]FIG. 7 is a flowchart illustrating the generation of a ring signal; and

[0021]FIG. 8 is a flowchart illustrating the generation of a preview of a ring signal.

[0022] Referring to FIG. 1, a mobile phone has a user interface comprising a keypad 2, a liquid crystal display 3, an on/off button 4, a speaker 5 and a microphone 6.

[0023] The keypad 2 has a first group of keys for the inputting of alphanumerical characters for dialling, generation of short message service messages, adding names, numbers to an internal list thereof etc.. The keypad 2 additionally comprises left and right multifunction keys 8 a, 8 b, two call handling keys 9 and a “navigation” key 10. The functions of the multifunction keys 8 depend on the current state of the phone 1 and the navigation key 10 is used for navigating through menus displayed by the display 3.

[0024] The call handling keys 9 are used for establishing a call or a conference call, terminating a call or rejecting a call.

[0025] The navigation key 10 rocks about a transverse axis, a user pressing an upper part to move up a menu and a lower part to move down a menu.

[0026] Referring to FIG. 2, electronically the mobile phone 1 comprises an rf module 14 connected to an antenna 23, a baseband module 15, an audio module 16, a controller 17, a SIM card 19, a display driver 18 for the display 3, RAM 20, flash ROM 21 and a buzzer 22.

[0027] The rf and baseband modules 14, 15 are controlled by the controller 17 in accordance with user inputs, entered using the keypad 2, control programs stored in the ROM 21 and the contents of the SIM card 19 in a substantially conventional manner.

[0028] The audio module 16 provides analogue-to-digital conversion for signals from the microphone 6 so that they can be input to the baseband module 15. The audio module 16 also provide digital-to-analogue conversion and amplification of signals from the baseband module for signals to be output by the speaker 5.

[0029] The buzzer 22 is connected to a 1-bit output port of the controller 17.

[0030] Referring to FIG. 3, the ROM 21 contains a section given over to the storage of musical samples. These samples are available for the generation of a ringing signal by the phone. The samples are arranged in a plurality of groups 30, the members of each group 30 being characteristic of a different musical style, e.g. baroque, pop, dance, jazz, blues etc.. Each group contains the same number of members 31 and each member 31 consists of a sample name and a musical sample, at least one note long, with each note comprising a pitch value, a start time relative to the start of the sample (the sample may start with a rest), in the case of the first note, or the start of the previous note, in the case of subsequent notes, and a note duration. The end of each sample is marked by a null character. Each group 30 has a name and a respective sample list 32 associated with it. Each sample list 32 comprises a list of pointers to the starts of the members 31 of the associated group 30. A style list 33 contains pointer to the first element of each of the sample lists 32.

[0031] The samples are programmed into the ROM 21 during manufacture of the phone 1.

[0032] Tunes can be built up from the musical samples 31 and any tune constructed from the samples can be represented by a first number identifying a style and a set numbers which maps onto the elements of the sample list 32 of the associated style.

[0033] In addition to the musical samples 31, the ROM 21 contains a ring setup program which enables a user to create and select ring signals constructed from the musical samples 31.

[0034] In order to set up the ring signal, the user of the mobile phone 1 selects a “ring setup” option from a displayed menu in the conventional manner. In the following, it is to be understood that the processing of user inputs and the generation of display images is performed by the controller 17 in accordance with the ring setup program.

[0035] Referring to FIG. 4, on selecting the “ring setup” option, the user is presented with a first menu d1 which enables the user to choose between pre-defined (i.e. factory set) ring signals, user defined ring signals and randomly generated ring signals.

[0036] If the user selects the “pre-defined” option using the navigation key 10 and the left multifunction key 8 a, a second menu d2 is displayed. The second menu m2 presents the user with a list of musical styles. The list of musical styles is produced by the controller 17 reading the names of the groups 30. The user can scroll up and down the list using the navigation key 10 and it will be appreciated that the list may contain more members than can be displayed simultaneously on the mobile phone's display 3.

[0037] When the user selects a style using the navigation key 10 and the left multifunction key 8, a third menu d3 is displayed. The third menu d3 presents the user with a list of pre-defined tunes in the chosen style.

[0038] The pre-defined tunes are also stored in the ROM 21. A predetermined region of the ROM 21 comprises a plurality of tune definitions, each comprising a style code (1 byte), a null-terminated name string and a set of 1 byte sample identifying codes terminated with a null character. The set of tune definitions is terminated by two null characters. In order to generate the third menu, the controller 17 reads through this area of the ROM 21, extracting and displaying the name strings for tunes having the appropriate style code.

[0039] If the location of any of the tune definitions matches the location of the currently selected tune definition, stored in the SIM card 19, an asterisk is displayed beside the tune's name.

[0040] If the user now presses the left multifunction key 8 a, he is presented with a fourth menu d4. This menu is headed with the name of the tune selected in the third menu d3 and contains “Play” and “Accept” as options. If the user selects the “Play” option using the navigation key 10 and the left multifunction key 8 a, the selected tune is played to the user by the controller 17 using the buzzer 22. This process will be explained in more detail below. If the user does not wish to use the selected tune, the user now presses the right multifunction key 8 b to return to the third menu d3.

[0041] However, if the user does wish to use the selected tune, the. user selects “Accept” using the navigator key 10 and presses the left multifunction key 8 a. This causes the controller 17 to save the location of the selected tune's definition in the ROM 21 in the SIM card 19 at a predetermined location, replacing the existing entry. The controller 17 then redisplays the third menu d3 which now has an asterisk beside the newly selected tune's name.

[0042] The user can repeatedly press the right multifunction key 8 b to return to the mobile phone's main menu.

[0043] Referring to FIG. 5, if the user select “User defined” in the first menu d1, the user is presented with a fifth menu d5. The fifth menu d5 gives the user the options of choosing a tune that has already been created, adding a new tune, editing an existing tune and deleting an existing tune.

[0044] If the user selects the “Choose” option using the navigation key 10 and the left multifunction key 8 a, the user is presented with a sixth menu d6. The sixth menu d6 is similar to the third menu d3. However, instead of displaying tunes whose definitions are in the ROM 21, the sixth menu d6 contains the tunes whose definitions are presently stored in the SIM card 19. These definitions are stored in the same format as those in the ROM 21 and if the location of any of them matches the location of the currently selected ring signal, an asterisk is displayed by its name.

[0045] The user can select and play tunes and set one as the current ring signal using a seventh menu d7 in the same way as for pre-defined tunes with the fourth menu d4.

[0046] If the user selects the “Add” option from the fifth menu d5, the user is presented with an eighth menu d8. The eighth menu d8 lists the style names from the groups 30. On selecting one of the styles using the navigation key 10 and the left multifunction key 8 a, the user is presented with an ninth menu d9 listing the names of the musical samples 31 belonging to the selected style.

[0047] A user can select samples using the navigation key 10 and the left multifunction key 8 a for addition to the new tune. When a sample name become highlighted by means of the navigation key 10, the named sample is played using the buzzer 22. The user can select the highlighed sample for addition to the tune by pressing the left multifunction key 8 a, which causes the user to be presented with a tenth menu d10 giving the user the options of playing the new tune at its present state of development or accepting the new tune. If the user selects the play option in the tenth menu d10, the tune is played by the controller 17 using the buzzer 22.

[0048] If the tune is not complete and is not to be abandoned, the user presses the right multifunction key 8 b and is returned to the ninth menu d9. The newly added sample will now be shown added to a list of the selected samples below the menu options. If the user now presses the right multifunction key 8 b, the newly added sample is removed from the list. Further operations of the right multifunction key 8 will remove further samples, if there are any.

[0049] If, while the tenth menu d10 is being displayed, the user selects the “Accept” option, the user is presented with a name entry display d11. The user can then enter a name for the tune using the keypad 2. When at least one character has been entered, the user can press the left multifunction key 8 a to store the new tune's definition in the SIM card 19 so that it can be selected using the “Choose” option in the fifth menu d5.

[0050] The foregoing illustates the process of adding a new tune in general terms, it will therefore be understood that means will be provided to handle the case where adding the new tune will cause the available space in the SIM card 19 to be exceeded.

[0051] Returning now to the fifth menu d5, the user may select an “Edit” option. If the user selects the “Edit” option, the user is presented with an eleventh menu d12 which contains the names of all of the tunes stored in the SIM card 19. If a user now selects one of these tunes using the navigation key 10 and the left multifunction key 8 a, the user is presented with a twelfth menu d13 which lists the names of all of the samples in the style of the selected tune and, below the list, the indices of the samples forming the tune.

[0052] With the twelfth menu d13 being displayed, the user can remove samples. from the tune by pressing the right multifunction key 8 b and add samples to the tune and play the tune in the same manner as with the ninth and tenth menus d9, d10 using a thirteenth menu d14.

[0053] The thirteenth menu d14 provides the user with the option of accepting the changes to the selected tune and when this option is selected and the left multifunction key 8 a pressed, the edited tune is stored in the SIM card 19 and the user is returned to the mobile phone's main menu. If the number of sample instances forming the tune has changed, the portion of the tune definition region of the SIM card 19, following the edited tune, will need to be rewritten after the edited tune has been stored.

[0054] Returning again to the fifth menu d5, the user can opt to delete a tune. If the user selects this option, the user is presented with a fourteenth menu d15 listing the names of all of the tunes defined in the SIM card 19. The user can then select one of these for deletion using the navigation key 10 and the left multifunction key 8 a. When a tune has been selected for deletion, the controller 17 rewrites the tune definition region of the SIM card 19 so as to remove the tune definition for the tune to be deleted. The user is then returned to the mobile phone's main menu.

[0055] Referring to FIG. 6, if the user selects “Random” from the first menu d1, the uses is presented with a fifteenth menu d16 which lists the styles. When the user selects one of these styles, the user is presented with a sixteenth menu d17 which presents the user with two options, “Ring the Changes” and “Choose Now”.

[0056] If the user selects “Ring the Changes”, the controller 17 stores the style code followed by a null character in the tune definition region of the SIM card 19 and sets the selected tune location to this location. The user is then returned to the mobile phone's main menu.

[0057] At this point, it is appropriate to explain that when the user chooses a pre-defined or a user defined tune to be the ring signal, as described above, the controller 17 additionally scans the tune definition region of the SIM card 19 and deletes any entry which has a null character where the first character of the tune's name is expected to be.

[0058] If, however, the user selects “Choose Now”, the user is presented with a choose display d18. If the user now presses the left multifunction key 8 a, the generates a random sequence of sample indices and stores this sequence temporarily in a tune definition in the RAM 20 in the form: style code, null character, null character, sequence indices, null character. The controller 19 then plays the temporarily stored tune definition using the buzzer 22 and displays an accept/reject display d19. If the user does not like the tune, the user presses the right multifunction key 8 b which returns the user to the chooser display d18. However, if the user likes the tune, the user presses the left multifunction key 8 a and the temporarily stored tune definition is transferred to the SIM card 19. The selected tune location is then changed to point to the newly added tune definition and the user is returned to the mobile phone's main menu.

[0059] The process of playing a tune in response to an incoming call will now be described.

[0060] Referring to FIG. 7, when the controller 17 detects an incoming call, it enters a ring signal generation routine. In the ring signal generation routine, the controller 17 first transfers the current tune definition location to a working variable (step s1) and then tests the first byte of the current tune definition's name element to determine whether it is a null character (step s2). If it is a null character, the user has selected a random ring signal and the controller 17 then tests the next byte of the current tune definition to determine whether that too is a null character (step s3). If the result at step s3 is true, the user has selected “Ring the Changes” from the sixteenth menu d18 (FIG. 6) and the controller 17 generates a random sequence of samples, using the style defined by the style code of the current tune definition in the SIM card 19, and stores the resultant tune definition in the RAM 20 (step s4). The working variable is then changed to point to the newly created random tune definition in the RAM 20 (step s5).

[0061] Following step s5, and if no is the answer at either of steps s2 and s3, the controller 17 enters a loop for generating the actual ring signal.

[0062] In the loop, the controller 17 initially reads the data defining the first note of he first sample of the tune (step s6) and then outputs a signal to the buzzer in accordance with this data (step s7). In step s7, the controller 17 waits until the note's start time and then causes the port to which the buzzer 22 is coupled to change state at a rate corresponding to the note's pitch for the note's duration as defined by the note data.

[0063] Once the note has started to be produced, the controller 17 determines whether it should stop generating the ring signal, e.g. the call has been answered or rejected or the calling party has terminated the call, (step s8). If so, the controller 17 exits the routine otherwise it determines whether the last note of the current sample has been played (step s9). The notes are read from the samples as shown in FIG. 3 using the style and sample index values in the current tune definition to set a note pointer variable. If the last note of the current sample has not been played, the controller 17 changes the note pointer variable so that it points to the next note of the current sample (step s10).

[0064] If the last note of the current sample has been played, the controller 17 changes the note pointer variable to point to the first note of the next sample identified in the tune definition (in this scheme the last sample is followed by the first sample so that the tune is looped) (step s11) and returns to step s6.

[0065] Referring to FIG. 8, when a tune or a partly completed tune is to be played during the configuration processes described above with reference to FIGS. 4, 5 and 6, a somewhat different ring signal generation routine is performed by the controller 17.

[0066] In this routine, the controller 17 loads the location of the definition of the tune or partly completed tune into the working variable (step s21). The controller 17 then reads the data for the first note from the ROM 21 of the first or only sample (step s22) and plays the note as described above (step s23). The controller 17 then determines whether the last note of the current sample has been played (step s24) and, if not, directs the note pointer variable to the next note of the current sample (step s25) and returns to step s22. Otherwise, the controller 17 determines whether the last sample has been played (step s26) and, if not, changes the note pointer variable so that it points to the first note of the next sample to be played (step s27). When all of the samples have been played, the routine terminates.

[0067] It will be appreciated that many modifications may be made to the embodiment described above. For instance, the allocation of samples to different styles may be omitted so that all of the samples are effectively in the same “group”. Furthermore, a facility whereby a user can create a sample be entering the notes to be played using the keypad. The samples could also be created by extracting the necessary control data from a MIDI file on a personal computer and then transferring the sample data to the mobile phone using an irDA link or a serial cable.

[0068] In the embodiment described above, only the setting of the incoming call alert, i.e. ring signal, of a mobile phone has been described. The same process can also be employed to set the incoming message e.g. SMS message, alert signal.

[0069] During manufacture, the mobile phone or other device according to the present invention may be programmed from a copy of the control program stored on a magnetic disk or an optical disk.

[0070] Programming of mobile phones over the air is known and the present invention may be implemented by programming a mobile phone with a suitable control program over the air, i.e. by means of electromagnetic waves. 

1. A method of alerting a user of a communications device to an incoming communication, the method comprising:— detecting in incoming communication, obtaining a sequence in which data defining a plurality of musical samples is to be read from a memory, and responding to the detection of an incoming communication by reading said data from the memory in the obtained sequence and generating an audio signal in dependence on said data.
 2. A method according to claim 1, wherein each of said samples comprises at least one note.
 3. A method according to claim 2, wherein one of said samples comprises a plurality of notes.
 4. A method according to claim 2 or 3, wherein the said data comprises frequency-defining data and duration-defining data for each note of each sample.
 5. A method according to claim 4, wherein the said data comprises timing data for each note of each sample.
 6. A method according to claim 4 or 5, wherein the frequency-defining data comprises a code representing pitch quantised according to a predetermined scale.
 7. A method according to claim 6, wherein the predetermined scale is the chromatic scale.
 8. A method according to any preceding claim, wherein obtaining said sequence comprises storing sequence definition data in a memory and reading the sequence definition from said memory, and said samples are read in the sequence defined by the sequence definition data read from said memory.
 9. A method according to any one of claims 1 to 7, wherein obtaining said sequence comprises generating a substantially non-deterministic sequence.
 10. A method according to any preceding claim, comprising storing said music samples in the memory.
 11. A method according to claim 10, including responding to operation of user input means to generate at least one of said samples.
 12. A method according to claim 8, including responding to operation of user input means to generate said sequence definition data.
 13. A communication device comprising:— means for detecting an incoming communication; acoustic signal generation means for generating an acoustic signal; a memory storing data defining a plurality of musical samples; and processing means configured to read the data defining musical samples from the memory in a sequence and control the acoustic signal generator, in dependence thereon, so as to cause the acoustic signal generator to produce an alert signal defined by the read musical samples.
 14. A device according to claim 13, wherein each of said samples comprises at least one note.
 15. A device according to claim 14, wherein one of said samples comprises a plurality of notes.
 16. A device according to claim 14 or 15, wherein the music data comprises frequency-defining data and duration-defining data for each note of each sample.
 17. A device according to claim 16, wherein the music data comprises timing data for each note of each sample.
 18. A device according to claim 16 or 17, wherein the frequency-defining data comprises a code representing pitch quantised according to a predetermined scale.
 19. A device according to claim 18, wherein the predetermined scale is the chromatic scale.
 20. A device according to any one of claims 13 to 19, wherein the memory is rewritable and the processing means is configured for storing sequence definition data in the memory and reading sequence definition data from the memory, wherein the processing means is configured to read the musical samples in a sequence defined by sequence definition data read from the memory.
 21. A device according to any one of claims 13 to 19, including sequence generation means for generating a substantially non-deterministic sequence, wherein the processing means is configured for reading the musical samples in a sequence generated by the sequence generation means.
 22. A device according to any one of claims 13 to 21, including user input means, wherein the processing means is configured to respond to operation of user input means to generate at least one of said samples.
 23. A device according to claim 22, wherein the processing means is configured to respond to operation of user input means to generate said sequence definition data.
 24. A mobile phone according to any one of claims 13 to
 23. 25. A technical manifestation of software, the software comprising instructions for causing a communication device, comprising means for detecting an incoming communication, acoustic signal generation means for generating an acoustic signal, a memory storing data defining a plurality of musical samples and software-controllable processing means for reading from said memory and controlling the acoustic signal generation means, to operate in accordance with a method according to any one of claims 1 to
 12. 26. A technical manifestation of software according to claim 25, wherein said instructions are represented by temporal or spatial variation of a physical property.
 27. A technical manifestation of software according to claim 26, wherein the physical property is charge in a memory cell.
 28. A technical manifestation of software according to claim 26, wherein the physical property is magnetic field magnitude or orientation.
 29. A technical manifestation of software according to claim 26, wherein the physical property is reflectivity.
 30. A technical manifestation of software according to claim 26, wherein the physical property is the phase or amplitude of an electromagnetic wave.
 31. A mobile phone substantially as hereinbefore described with reference to the accompanying drawings. 